info=["姓名","年龄","爱好"]
info2=["张三",20]
dict1={}.fromkeys(info,0)
print(dict1)


print(dict1.setdefault("性别","男"))  #如果键不存在，则返回默认值，并将键值对添加到字典中
print(dict1)

# 遍历字典
for k,v in dict1.items():
    print(k,"------->",v)

#字典的常用方法
# 1. clear() 清空字典
# dict1.clear()
# print(dict1)
# 2. copy() 复制字典
# dict1={}.fromkeys(info,0)
dict2=dict1.copy()
print(" 复制字典",dict2)
# 3. get() 根据键获取值
print(dict1.get("姓名"))
# 4. items() 返回字典的键值对
print(dict1.items())
# 5. keys() 返回字典的键
print("键",dict1.keys())
# 6. values() 返回字典的值
print("值",dict1.values())
# 7. pop() 根据键删除键值对
print(dict1.pop("爱好")) #返回删除的值 
print(dict1)
# 8. popitem() 随机删除一个键值对
print(dict1.popitem()) #返回删除的键值对 
print(dict1) #剩余的键值对
# 9. update() 更新字典
dict1.update(dict2)  #将dict2的键值对添加到dict1中  如果有相同的键，则覆盖
print(dict1)
# 10. del 删除字典
del dict1["姓名"]
print(dict1)
# 11. in 判断键是否存在
print("爱好" in dict1) #True



print("-----------------------------------------------------------------------------------------------")

#字典转json
import json
dict={"name":"张三","age":20}
json_str=json.dumps(dict,ensure_ascii=False,indent=4) #ensure_ascii=False表示不转换为ascii码，indent=4表示缩进4个空格
print(json_str)

#json转字典
dict=json.loads(json_str)
print(dict)


